<?php
	class Controller
	{
		// Avvia il controller
		public function start($url)
		{
			$urlArray = parse_url($url);					// Array per la gestione dell'url.
			$className = ucwords(basename($urlArray["path"]));		// Nome della classe da chiamare.
			$filePath = PAGESPATH.trim($urlArray["path"], "/").".php";	// Percorso del file contenente la classe.

			// Se l'applicazione è in debug stampa il nome della classe e il percorso del file che verranno caricati.
			if(DEBUG == true)
				echo "<p>className: {$className}<br />filePath: {$filePath}</p>";

			if(!file_exists($filePath))
				throw new Exception("Errore 404, la pagina non esiste.");

			// Include il file e chiama la classe.
			include_once $filePath;
			$page = new $className();

			// Se la classe non eredita da Page lancia un eccezione.
			if(!is_a($page, "Page"))
				throw new Exception("'page' non è una pagina valida.");
		}
	}
?>
